关于Wordpress文章修订与RSS同步更新

非典型的Wordpress blog会遇到RSS更新的问题。比如,我经常更新旧文章,但默认情况下,RSS订阅者是无法感知这些更新的。为了兼顾RSS读者,需要一些特殊处理。

一、xbeta的应对办法

1. 不重要的更新

只更新文章,不做任何特殊处理。

效果: * 已经读过该文章的读者,无论是通过RSS订阅,还是首页浏览,都无法感知到更新——因为是微小更新,不需要告知他们。 * 而通过搜索引擎到达该文章的读者,看到了最新内容,以防误导。

2. 稍重要的更新

更新文章,并把发表日期提前。

效果: * 博客首页会显示此文,直接访问网站的读者会注意到这篇文章。 * 提前到前N篇后,就进入了RSS输出范围(wordpress默认为10)后,RSS订阅程序会更新此文。这并不意味着RSS中出出现一篇新的未读文章(原因见下),但在RSS中搜索或阅读时,内容是新的。

3. 非常重要,需要向读者推送的更新

首先,更新文章。比如原文网址为 mini-tc.htm 。(此时无RSS更新) 其次,发表一篇新文章,内容完全同上(或只包括重要的更新内容),比如发布为 update.htm 。(输出了RSS) 最后,在WP目录下的 .htaccess 文件中增加一条重定向记录:Redirect /update.htm /mini-tc.htm 这样,读者既能通过RSS看到新文章提醒;但在访问 update.htm 时,又会无痕跳转到 mini-tc.htm 原文章,不会产生如下的问题。

进阶补充: * 这个update.htm可以日后继续用于其他文章更新。 * 如果是连载更新,也可跳转到合集的指定位置,如 Redirect /update.htm /mini-tc.htm#part-3

注:本做法是 2011-04-21 明确改进的。以前的做法是: 采用“删除重发,保持原有的URL”的方法,但有副作用:原文的评论都将被删除。手工对策也不完美:①少量或不重要的评论,任由删除。②重要的评论或专文汇总(),或手工合并为一条,贴在新文章的后面(例该文章第一条评论 xbeta: 2010-03-24 0:23, #4 原有评论汇总:78 条)

附:Google Reader等RSS程序判断更新的原理推测

当wordpress的rss源(比如,http://xbeta.info/wp-rss2.php)更新后,Google Reader这样的RSS程序,会把此时刻的rss内容,与已积累的内容进行比较,然后进行处理。需要说明的是,判断是否为“同一篇文章”的标准,并不是手工设定的url,而是wordpress后台的post ID。如果被认定为同一篇文章,则只做内容更新,并不提示用户有新的未读文章。只有发现新的ID,才告知用户,这里出现了一篇“新文章”。 >